#ifndef _MATRIZ_H_

#define _MATRIZ_H_

#include <vector>
#include <stdio.h>
#include <iostream>


using namespace::std;

class VectorAux
{
public:
	//Constructor
	VectorAux();
	VectorAux(int n);

	//Propiedades
	double getOneDato(int Nro){return vVector[Nro];}
	void setOneDato(int Nro, double valor){vVector[Nro] = valor;}
	int getNroDatos(){return intNumeroDatos;}

	//Metodos
	void InicializarVector(int n);
	void ImprimirVector();

	vector<double> vVector;

private:
	//Atributos
	int intNumeroDatos;
};

class Matriz
{
public:
	//Constructor
	Matriz();
	Matriz(int n, int m);

	//Propiedades
	int getNroFilas(){return intNroFilas;}
	int getNroColumnas(){return intNroColumnas;}

	vector<VectorAux>& getVectores(){return Data;}
	VectorAux& getOneVector(int Nro){return Data[Nro];}

	void setPosition(int i, int j, double valor);
	double getPosition(int i, int j);

	void ImprimirMatriz();
	

private:
	//Atributos
	int intNroFilas;
	int intNroColumnas;
	
	vector<VectorAux> Data;
};




#endif
